#ifndef FIRST_PERSON_CAMERA_H
#define FIRST_PERSON_CAMERA_H

#include <string>
#include "cg/cg.h"
#include "ITargetable.h"

namespace PeanutQuest {

    class ThirdPersonCamera : public cg::Entity,
		public cg::IDrawListener,
		public cg::IReshapeEventListener
	{
    private:
		double _winWidth, _winHeight;
		cg::Vector3d _position, _targetPosition;
		ITargetable* _target;
		cg::Vector3d axis;
		cg::Quaterniond q;

    public:
        ThirdPersonCamera(std::string id);
        virtual ~ThirdPersonCamera();
        void init();
        void draw();
        void onReshape(int width, int height);
		void setTarget(ITargetable* target);
	};
}

#endif
